﻿


using System;
using System.Collections.Generic;
using System.Linq;
using Payroll.BusinessLogic.Caching;
using Payroll.BusinessLogic.Configuration.Settings;
using Payroll.BusinessLogic.Data;
using Payroll.BusinessLogic.Infrastructure;
using Payroll.Common;
using Payroll.Common.Utils;

namespace Payroll.BusinessLogic.Audit
{
    /// <summary>
    /// Customer activity service
    /// </summary>
    public class CustomerActivityService : ICustomerActivityService
    {
        #region Constants
        private const string ACTIVITYTYPE_ALL_KEY = "Nop.activitytype.all";
        private const string ACTIVITYTYPE_BY_ID_KEY = "Nop.activitytype.id-{0}";
        private const string ACTIVITYTYPE_PATTERN_KEY = "Nop.activitytype.";
        #endregion

        #region Fields

        /// <summary>
        /// Object context
        /// </summary>
        private readonly PayrollHRDataContext m_context;

        /// <summary>
        /// Cache manager
        /// </summary>
        private readonly ICacheManager _cacheManager;

        #endregion
        
        #region Ctor

        /// <summary>
        /// Ctor
        /// </summary>
        /// <param name="context">Object context</param>
        public CustomerActivityService(PayrollHRDataContext context)
        {
            this.m_context = context;
            this._cacheManager = new PayrollRequestCache();
        }

        #endregion



        public void InsertActivityType(ActivityLogType activityLogType)
        {
            throw new NotImplementedException();
        }

        public void UpdateActivityType(ActivityLogType activityLogType)
        {
            throw new NotImplementedException();
        }

        public void DeleteActivityType(int activityLogTypeId)
        {
            throw new NotImplementedException();
        }

        public List<ActivityLogType> GetAllActivityTypes()
        {
            throw new NotImplementedException();
        }

        public ActivityLogType GetActivityTypeById(int activityLogTypeId)
        {
            throw new NotImplementedException();
        }

        public ActivityLog InsertActivity(string systemKeyword, string comment)
        {
            throw new NotImplementedException();
        }

        public ActivityLog InsertActivity(string systemKeyword, string comment, params object[] commentParams)
        {
            throw new NotImplementedException();
        }

        public void DeleteActivity(int activityLogId)
        {
            throw new NotImplementedException();
        }

        public PagedList<ActivityLog> GetAllActivities(DateTime? createdOnFrom, DateTime? createdOnTo, string email, string username, int activityLogTypeId, int pageIndex, int pageSize)
        {
            throw new NotImplementedException();
        }

        public ActivityLog GetActivityById(int activityLogId)
        {
            throw new NotImplementedException();
        }

        public void ClearAllActivities()
        {
            throw new NotImplementedException();
        }
    }
}
